草庐IT

git - 按名称找到交换文件

全部标签

ruby-on-rails - 计算CSV文件的长度(行数)?

我有一个表单(Rails),它允许我使用file_field加载.csv文件。在View中:{:multipart=>true})do|f|%>单击提交会将我重定向到另一个页面(create.html.erb)。该文件加载正常,我能够在第二页中正常阅读内容。我试图在第二页中显示.csv文件中的行数。我的Controller(半伪代码):classUpcsvController当我的文件仅包含7行时,file.length和file.size都返回“91”。从我阅读的Rails文档中,单击“提交”按钮后,Rails会创建上传文件的临时文件,params[:upcsv][:filename

ruby-on-rails - 编译器未能生成可执行文件。 (运行时错误)

我最近升级到了OSMountainLion。我正在处理的项目需要gemsys-proctable作为依赖项,但是当我运行bundleinstall时,我得到:Fetchinggemmetadatafromhttps://rubygems.org/............Installingsys-proctable(0.9.2)withnativeextensionsGem::Installer::ExtensionBuildError:ERROR:Failedtobuildgemnativeextension./Users/mgriffel/.rvm/rubies/ruby-1.9.

ruby - 从我的 Ruby 应用程序构建 Windows 可执行文件?

我希望能够将Ruby应用程序发送给一些同事,而无需他们安装Ruby解释器。最好是单个exe。我用谷歌搜索并找到了“RubyScript2Exe”。您对此有何体验?除了构建exe之外,是否还有其他此类工具或更好的方法? 最佳答案 我已经使用了大约3次,没有遇到任何问题,而且我在10台服务器上运行了其中一个应用程序,从未遇到过任何问题。所以,我认为RubyScript2Exe与ruby​​一样好。 关于ruby-从我的Ruby应用程序构建Windows可执行文件?,我们在StackOverf

ruby - 如何找到在 Ruby 中定义常量的位置?

使用pry,通过edit-method命令可以非常简单地找到定义方法的位置并查看源代码。然而,类本身没有对应关系。当该类本身没有定义任何方法时,很难通过pry找到来源。类是常量,所以这相当于询问在哪里可以找到定义特定Ruby常量的源代码。非常感谢。 最佳答案 在ruby​​中,$"保存所有通过Kernel.load加载的文件名。所以你可以尝试这样的事情:constant=User$".detect{|load_path|load_path.include?(constant.to_s.underscore)}注意:underscor

ruby - 有没有办法使 Ruby 临时文件永久化?

如果我通过Tempfile创建了一个临时文件,除了将它复制到另一个文件之外还有什么方法可以使它成为“永久”文件吗?我想避免在关联的Tempfile实例被垃圾回收或进程终止时删除它。与此相关,有没有一种方法可以利用Tempfile机制(或使用类似的机制)来获取"new"文件名,而无需以该名称创建文件? 最佳答案 不是真的。对于问题本身,请参见:ObjectSpace.undefine_finalizer(tmpfile)Tempfile库使用RubyObjectSpace终结器在垃圾回收时自动删除自身。通过使用上面的行,如果你不删除它

尽管安装了 ruby​​ gem,但未找到

我在SO上发现了一些类似的问题,但似乎没有一个符合我的情况(抱歉,如果我忽略了)。这是我的问题:我将oauth-plugingem安装到ruby​​gems目录,但是尝试在rails应用程序中使用它告诉我找不到它。以下是相关命令的输出:安装%sgeminstalloauth-pluginSuccessfullyinstalledoauth-plugin-0.3.141geminstalledInstallingridocumentationforoauth-plugin-0.3.14...InstallingRDocdocumentationforoauth-plugin-0.3.14

ruby - 为什么我们要将 Ruby 1.9.2/1.9.3 gem 安装到 1.9.1 文件夹中?

这是因为gem命令使用的Gem安装目录,在使用gemenv时看到,被设置为如下内容:/lib/ruby/gems/1.9.1我的问题是为什么?文件夹不应该叫:/lib/ruby/gems/1.9.x或/lib/ruby/gems/1.9否则每个Ruby版本都不能有一个,例如:c:/ruby191/lib/ruby/gems/1.9.1c:/ruby192/lib/ruby/gems/1.9.2c:/ruby193/lib/ruby/gems/1.9.3我知道这不是关键问题,我只是想知道。 最佳答案 在Ruby1.9.0中,C接口(i

ruby - 仅当 ruby​​ 中不存在文件时,如何打开文件进行写入

我想打开一个文件进行写入,但前提是它不存在。如果文件存在,我想引发异常。这是最好的方法吗?filename='foo'raiseifFile.exists?filenameFile.open(filename,'w')do|file|file.writecontentsend在没有竞争条件的情况下,最惯用的方法是什么? 最佳答案 经过进一步研究,您似乎可以使用File::CREAT和File::EXCL模式标志。filename='foo'File.open(filename,File::WRONLY|File::CREAT|Fil

ruby - Ruby 在哪里跟踪其打开的文件描述符?

这个问题不是关于什么这个问题不是关于如何使用File#close或File#openblock语法自动关闭文件。这是一个关于Ruby在运行时将其打开的文件描述符列表存储在何处的问题。实际问题如果您有一个带有打开描述符的程序,但您无权访问相关的文件或IO对象,您如何才能找到对当前打开的文件描述符的引用?举个例子:filename='/tmp/foo'%x(touch"#{filename}")File.open(filename)filehandle=File.open(filename)第一个File实例被打开,但对该对象的引用未存储在变量中。第二个实例存储在filehandle中,我

ruby - Rake 中任务名称的别名

当我需要为某个任务的名称起别名时,我应该怎么做?比如我怎么转任务名:rakedb:tablerakedb:createrakedb:schemarakedb:migration到:rakedb:trakedb:crakedb:srakedb:m得到答案后编辑:defalias_task(tasks)tasks.eachdo|new_name,old_name|tasknew_name,[*Rake.application[old_name].arg_names]=>[old_name]endendalias_task[[:ds,:db_schema],[:dc,:db_create],